starstarstarstarstar_half
In this course, you will develop more advanced web application programming skills. You will learn how to control data read and write access using methods, publish and subscribe. You will learn how to access your database and server shells using command line tools. You will use the SimpleSchema system to validate data and generate input forms automatically. You will see a complete collaborative code editing environment, TextCircle, being built from scratch. At the end of this course, you will be able to: - use Meteor methods to control data write access - use publish and subscribe to control data read access - install and use advanced Meteor packages - add user accounts to your applications - implement complex MongoDB filters - use the MongoDB and meteor server shells - define data validations schemas using SimpleSchema - generate data input forms automatically using SimpleSchema In this course, you will complete: 2 programming assignments taking ~4 hours each to complete 4 quizzes, each taking ~20 minutes to complete multiple practice quizzes, each taking ~5 minutes to complete Participation in or completion of this online course will not confer academic credit for University of London programmes
    starstarstarstarstar_half
    This course teaches learners (industry professionals and students) the fundamental concepts of parallel programming in the context of Java 8. Parallel programming enables developers to use multicore computers to make their applications run faster by using multiple processors at the same time. By the end of this course, you will learn how to use popular parallel Java frameworks (such as ForkJoin, Stream, and Phaser) to write parallel programs for a wide range of multicore platforms including servers, desktops, or mobile devices, while also learning about their theoretical foundations including computation graphs, ideal parallelism, parallel speedup, Amdahl's Law, data races, and determinism. Why take this course? • All computers are multicore computers, so it is important for you to learn how to extend your knowledge of sequential Java programming to multicore parallelism. • Java 7 and Java 8 have introduced new frameworks for parallelism (ForkJoin, Stream) that have significantly changed the paradigms for parallel programming since the early days of Java. • Each of the four modules in the course includes an assigned mini-project that will provide you with the necessary hands-on experience to use the concepts learned in the course on your own, after the course ends. • During the course, you will have online access to the instructor and the mentors to get individualized answers to your questions posted on forums. The desired learning outcomes of this course are as follows: • Theory of parallelism: computation graphs, work, span, ideal parallelism, parallel speedup, Amdahl's Law, data races, and determinism • Task parallelism using Java’s ForkJoin framework • Functional parallelism using Java’s Future and Stream frameworks • Loop-level parallelism with extensions for barriers and iteration grouping (chunking) • Dataflow parallelism using the Phaser framework and data-driven tasks Mastery of these concepts will enable you to immediately apply them in the context of multicore Java programs, and will also provide the foundation for mastering other parallel programming systems that you may encounter in the future (e.g., C++11, OpenMP, .Net Task Parallel Library).
      starstarstarstarstar_half
      Machine Learning, often called Artificial Intelligence or AI, is one of the most exciting areas of technology at the moment. We see daily news stories that herald new breakthroughs in facial recognition technology, self driving cars or computers that can have a conversation just like a real person. Machine Learning technology is set to revolutionise almost any area of human life and work, and so will affect all our lives, and so you are likely to want to find out more about it. Machine Learning has a reputation for being one of the most complex areas of computer science, requiring advanced mathematics and engineering skills to understand it. While it is true that working as a Machine Learning engineer does involve a lot of mathematics and programming, we believe that anyone can understand the basic concepts of Machine Learning, and given the importance of this technology, everyone should. The big AI breakthroughs sound like science fiction, but they come down to a simple idea: the use of data to train statistical algorithms. In this course you will learn to understand the basic idea of machine learning, even if you don't have any background in math or programming. Not only that, you will get hands on and use user friendly tools developed at Goldsmiths, University of London to actually do a machine learning project: training a computer to recognise images. This course is for a lot of different people. It could be a good first step into a technical career in Machine Learning, after all it is always better to start with the high level concepts before the technical details, but it is also great if your role is non-technical. You might be a manager or other non-technical role in a company that is considering using Machine Learning. You really need to understand this technology, and this course is a great place to get that understanding. Or you might just be following the news reports about AI and interested in finding out more about the hottest new technology of the moment. Whoever you are, we are looking forward to guiding you through you first machine learning project. NB this course is designed to introduce you to Machine Learning without needing any programming. That means that we don't cover the programming based machine learning tools like python and TensorFlow.
        starstarstarstarstar_half
        Welcome to Lighting, Reflection, and Post-Processing Effects, the second course in the Unity Certified 3D Artist Specialization from Unity Technologies. The courses in this series will help you prepare for the Unity Certified 3D Artist exam, the professional certification for entry- to mid-level Unity artists. 3D artists are critical to the Unity development pipeline. They are a bridge between the programmers writing the application code and the designers or art directors who define the application’s aesthetics and style. In these courses, you will be challenged to complete realistic art implementation tasks in Unity that are aligned to the topics covered on the exam. In this second course, you will continue work on the Kitchen Configurator application - an app that lets users view a realistic rendering of a kitchen and swap out objects and materials to customize the design. The scene will really start to come to life as you add lighting effects including ambient lighting from a custom skybox, simulated sunlight, interior lights, and realistic reflections. Finally, you’ll use Unity’s Post-Processing Stack to add even more polish to the rendered scene. By the end of the course, you’ll have a scene ready for the next stage: adding interactions through scripts. This is an intermediate course, intended for people who are ready for their first paying roles as Unity 3D artists, or enthusiasts who would like to verify their skills against a professional standard. To succeed, you should have at least 1-2 years of experience implementing 3D art in Unity. You should be proficient at importing assets into Unity from Digital Content Creation (DCC) tools, prototyping scenes, working with lighting, and adding particles and effects. You should also have a basic understanding of 2D asset management, animation, and working with scripts. You should have experience in the full product development lifecycle, and understand multi-platform development, including for XR (AR and VR) platforms.
          starstarstarstarstar_half
          In this course you will learn about audio signal processing methodologies that are specific for music and of use in real applications. We focus on the spectral processing techniques of relevance for the description and transformation of sounds, developing the basic theoretical and practical knowledge with which to analyze, synthesize, transform and describe audio signals in the context of music applications. The course is based on open software and content. The demonstrations and programming exercises are done using Python under Ubuntu, and the references and materials for the course come from open online repositories. We are also distributing with open licenses the software and materials developed for the course.
            starstarstarstarstar_border
            Whether you are a software developer, architect, project manager or just someone who codes for fun; knowing what to write is just as hard as knowing how to write it. ' Software requirements gathering ' is the process of capturing the objectives, goals and wishes of the customer upfront and early-on in the Software Development Life Cycle (SDLC). This course is accompanied by several templates and document files, that you can use as a guideline during your next requirements gathering project. There is a feasibility study template, a software specification template, a terminology guide and a couple more. This course will get you ' asking the right questions ' early in the process, saving you time, money and effort. You will learn how to ' manage the requirements process ' from start to finish. How to differentiate between ' Functional and Non-functional requirements '. How to ' capture and record requirements '. Plus, you will get an insight to how one system is used throughout an organization. This course will guide you through the entire range of ' Scoping Documents ', ' Technical Specifications ', ' Feasibility Studies ' and ' Requirements Gathering '. Your time is precious and that matters to me, this course has been arranged into small lectures that you can consume when you have a spare few minutes. They follow-on from each other, making the entire course watchable in one sitting. you can be sure that the project you embark on is the same as the project you deliver. On time and on budget. Capturing Software Requirements, Meeting Deliverables, Exceeding Expectations and Documenting the whole process can take years to learn, this stuff is not taught in colleges, it is learned in the trenches. So save yourself time, get the insider information on the topics that matter. By the end of the course, you will have amassed a large number of key takeaways and several useful template files that together will take your software development skills to the next level. This course is for life, meaning you can learn whenever you have the time. You have access to the discussions area, where I will personally answer any questions you have on this course. This course is also backed by a 30 day money back guarantee. If you need a deeper understanding of the software development life cycle. Are about to begin work on a new software project or embark on a prospective customer collaboration? this course will guide you through the process. I look forwards to seeing you on the inside. Kind Regards, Robin.
              starstarstarstarstar_half
              This course will show how one can treat the Internet as a source of data. We will scrape, parse, and read web data as well as access data using web APIs. We will work with HTML, XML, and JSON data formats in Python. This course will cover Chapters 11-13 of the textbook “Python for Everybody”. To succeed in this course, you should be familiar with the material covered in Chapters 1-10 of the textbook and the first two courses in this specialization. These topics include variables and expressions, conditional execution (loops, branching, and try/except), functions, Python data structures (strings, lists, dictionaries, and tuples), and manipulating files. This course covers Python 3.
                starstarstarstarstar_border
                This course provides an introduction to programming and the Python language. Students are introduced to core programming concepts like data structures, conditionals, loops, variables, and functions. This course includes an overview of the various tools available for writing and running Python, and gets students coding quickly. It also provides hands-on coding exercises using commonly used data structures, writing custom functions, and reading and writing to files. This course may be more robust than some other introductory python courses, as it delves deeper into certain essential programming topics.
                  starstarstarstarstar_half
                  Bringing a machine learning model into the real world involves a lot more than just modeling. This Specialization will teach you how to navigate various deployment scenarios and use data more effectively to train your model. In this first course, you’ll train and run machine learning models in any browser using TensorFlow.js. You’ll learn techniques for handling data in the browser, and at the end you’ll build a computer vision project that recognizes and classifies objects from a webcam. This Specialization builds upon our TensorFlow in Practice Specialization. If you are new to TensorFlow, we recommend that you take the TensorFlow in Practice Specialization first. To develop a deeper, foundational understanding of how neural networks work, we recommend that you take the Deep Learning Specialization.
                    starstarstarstarstar_half
                    Agile embraces change which means that team should be able to effectively make changes to the system as team learns about users and market. To be good at effectively making changes to the system, teams need to have engineering rigor and excellence else embracing change becomes very painful and expensive. In this course, you will learn about engineering practices and processes that agile and traditional teams use to make sure the team is prepared for change. In additional, you will also learn about practices, techniques and processes that can help team build high quality software. You will also learn how to calculate a variety of quantitative metrics related to software quality. This is an intermediate course, intended for learners with a background in software development. To succeed in the course, you should have experience developing in modern programming languages (e.g., Java, C#, Python, JavaScript), an understanding of software development lifecycle models, familiarity with UML diagrams (class and sequence diagrams), and a desire to better understand quality aspects of software development beyond program correctness. At the end of this course, you will be able to comfortably and effectively participate in various techniques and processes for building secure and high quality software.